package com.vxdata.utils.modules.fileListener.listener;

import com.vxdata.utils.modules.fileListener.service.IFileBase64Service;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationObserver;

import java.io.File;

@Slf4j
public class FileListener extends FileAlterationListenerAdaptor {

    // 声明业务服务
    private IFileBase64Service listenerService;

    // 采用构造函数注入服务
    public FileListener(IFileBase64Service listenerService) {
        this.listenerService = listenerService;
    }

    // 文件创建执行
    @Override
    public void onFileCreate(File file) {
        listenerService.createFile(file);
    }

    // 文件创建修改
    @Override
    public void onFileChange(File file) {
        listenerService.createFile(file);
    }

    // 文件创建删除
    @Override
    public void onFileDelete(File file) {
        listenerService.deleteFile(file);
    }

    // 目录创建
    @Override
    public void onDirectoryCreate(File directory) {
    }

    // 目录修改
    @Override
    public void onDirectoryChange(File directory) {
    }

    // 目录删除
    @Override
    public void onDirectoryDelete(File directory) {
    }


    // 轮询开始
    @Override
    public void onStart(FileAlterationObserver observer) {
    }

    // 轮询结束
    @Override
    public void onStop(FileAlterationObserver observer) {
    }
}